// 导出一个axios的实例  而且这个实例要有请求拦截器 响应拦截器
import axios from 'axios'
import { Message } from 'element-ui'
import store from '@/store/index'
import router from '@/router/index'
const service = axios.create({
  // baseURL: 'http://localhost:8001/api',
  // baseURL 该数据在不同环境下值不同，process是node里的全局变量，可以区分处于的环境
  baseURL: 'https://likede2-admin.itheima.net/likede', // 设置axios请求的基础的基础地址
  timeout: 5000
})
service.interceptors.request.use((config) => {
  // console.log(config)
  if (store.state.user.token) {
    config.headers.Authorization = `${store.state.user.token}`
  }

  return config
}, (err) => {
  return Promise.reject(err)
}) // 请求拦截器
service.interceptors.response.use((response) => {
  // console.log(response)
  return response.data
}, (error) => {
  if (error.response.status === 500) {
    Message.error(error.response.data)
  } else if (error.response && error.response.data) {
    if (error.response.data.status === 404) {
      Message.error('请求的数据不存在，请确认')
    } else {
      Message.error('登录失效，请重新登录')
      router.push('/login')
    }
  } else {
    Message.error(error.message)
  }
  return Promise.reject(error)
}) // 响应拦截器
export default service // 导出axios实例s
